//  Copyright (c) Microsoft Corporation.  All Rights Reserved.

using System;
using System.Collections.Generic;
using System.Text;

namespace Saml20
{
    using System.IdentityModel;
    using System.IdentityModel.Tokens;

    public class SigningCredentials
    {
        string digestAlgorithm;
        string signatureAlgorithm;
        SecurityKey signingKey;
        SecurityKeyIdentifier signingKeyIdentifier;

        public SigningCredentials(SecurityKey signingKey, string signatureAlgorithm, string digestAlgorithm, SecurityKeyIdentifier signingKeyIdentifier)
        {
            if (signingKey == null)
            {
                throw new ArgumentNullException("signingKey");
            }

            if (signatureAlgorithm == null)
            {
                throw new ArgumentNullException("signatureAlgorithm");
            }
            if (digestAlgorithm == null)
            {
                throw new ArgumentNullException("digestAlgorithm");
            }
            this.signingKey = signingKey;
            this.signatureAlgorithm = signatureAlgorithm;
            this.digestAlgorithm = digestAlgorithm;
            this.signingKeyIdentifier = signingKeyIdentifier;
        }

        public string DigestAlgorithm
        {
            get { return this.digestAlgorithm; }
        }

        public string SignatureAlgorithm
        {
            get { return this.signatureAlgorithm; }
        }

        public SecurityKey SigningKey
        {
            get { return this.signingKey; }
        }

        public SecurityKeyIdentifier SigningKeyIdentifier
        {
            get { return this.signingKeyIdentifier; }
        }
    }
}
